//#include <iostream>
//#include <cstring>
//#include <algorithm>
//#include <vector>
//#include <cmath>
//#include <unordered_map>
//#include <unordered_set>
//#include <map>
//#include <set>
//#include <queue>
//#include <stack>
//#include <deque>
//#include <functional>
//#include <climits>
//
//#define quickio ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
//#define endl "\n"
//
//using namespace std;
//typedef long long ll;
//
//bool solve()
//{
//	int n;
//	cin >> n;
//	string s;
//	cin >> s;
//
//	double x = sqrt(n);
//	if (x * x == n)
//	{
//		int idx = 0;
//		for (int i = 0; i < x; i++)
//		{
//			for (int j = 0; j < x; j++)
//			{
//				if ((i == 0 || i == x - 1) && s[idx] == '0')
//					return false;
//				else if ((j == 0 || j == x - 1) && s[idx] == '0')
//					return false;
//
//				if (i != 0 && i != x - 1)
//				{
//					if (j != 0 && j != x - 1 && s[idx] == '1')
//						return false;
//				}
//				idx++;
//			}
//		}
//		return true;
//	}
//	else
//	{
//		return false;
//	}
//}
//
//int main()
//{
//	int t;
//	cin >> t;
//	while (t--)
//	{
//		if (solve())
//			cout << "YES" << endl;
//		else
//			cout << "NO" << endl;
//	}
//	return 0;
//}